This role leads the development of the system's software architecture, which includes promoting and creating support
for the key technical decisions that constrain the overall design and implementation for the project.
The software architect has overall responsibility for driving the major technical decisions, expressed as the software
architecture. This typically includes identifying and documenting the architecturally significant aspects of the
system, including requirements, design, implementation, and deployment "views" of the system.
The architect is also responsible for providing rationale for these decisions, balancing the concerns of the various
stakeholders, driving down technical risks, and ensuring that decisions are effectively communicated, validated, and
adhered to.
"The ideal architect should be a person of letters, a mathematician, familiar with historical studies, a diligent
student of philosophy, acquainted with music, not ignorant of medicine, learned in the responses of jurisconsults,
familiar with astronomy and astronomical calculations." - Vitruvius, circa 25 BC
|